using System;
using Xunit;

namespace CsTxtConv.Tests
{
    public class CsTxtConvTests
    {
        private readonly CsTxtConv _formatter;

        public CsTxtConvTests()
        {
            _formatter = new CsTxtConv();
        }

        [Theory]
        [InlineData("studio-3t", "Studio3t")]
        [InlineData("vmware-workstation", "VmwareWorkstation")]
        public void TestToClassName(string input, string result)
        {
            Assert.Equal(result, _formatter.ToClassName(input));
        }

        [Theory]
        [InlineData("Studio3t", "studio-3t")]
        [InlineData("VmwareWorkstation", "vmware-workstation")]
        public void TestToCliName(string input, string result)
        {
            Assert.Equal(result, _formatter.ToCliName(input));
        }

        [Theory]
        [InlineData("studio-3t", "studio3t")]
        [InlineData("Studio3t", "studio3t")]
        [InlineData("vmware-workstation", "vmwareworkstation")]
        [InlineData("VmwareWorkstation", "vmwareworkstation")]
        public void TestToCompactName(string input, string result)
        {
            Assert.Equal(result, _formatter.ToCompactName(input));
        }
    }
}
